aboutsummaryrefslogtreecommitdiff
path: root/src/routes/projects/[id]/+page.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/projects/[id]/+page.svelte')
-rw-r--r--src/routes/projects/[id]/+page.svelte27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/routes/projects/[id]/+page.svelte b/src/routes/projects/[id]/+page.svelte
index 7d9a146..f93e018 100644
--- a/src/routes/projects/[id]/+page.svelte
+++ b/src/routes/projects/[id]/+page.svelte
@@ -6,11 +6,8 @@
import StatusBadge from '$lib/components/StatusBadge.svelte';
import Button from '$lib/components/Button.svelte';
import Row from '$lib/components/Row.svelte';
- import {
- formatFrequency,
- parseIntervalToDays,
- type RoutineState,
- } from '$lib/shared/routine-metrics';
+ import type { RoutineState } from '$lib/shared/routine-metrics';
+ import { Frequency } from '$lib/shared/frequency';
import SectionTitle from '$lib/components/SectionTitle.svelte';
import { formatDayMonth } from '$lib/shared/temporal';
import { filterByName } from '$lib/shared/filter-items';
@@ -20,7 +17,7 @@
let name = $state('');
let frequency = $state('');
- const frequencyDays = $derived(parseIntervalToDays(frequency));
+ const freq = $derived(Frequency.safeParse(frequency));
let showArchived = $state(false);
let archiveFilter = $state('');
@@ -83,25 +80,25 @@
/>
<input
class="form-input frequency-input"
- class:input-invalid={frequency !== '' && frequencyDays === null}
+ class:input-invalid={frequency !== '' && freq === null}
type="text"
- name="frequencyDays"
+ name="frequency"
bind:value={frequency}
- placeholder="2w"
+ placeholder="2w, 5/2w"
autocomplete="off"
- aria-label="Intervalle (ex: 1d, 2w, 3m)"
+ aria-label="Fréquence (ex : 2w, 5/2w)"
/>
<Button
variant="accent"
- disabled={!name.trim() || frequencyDays === null}
+ disabled={!name.trim() || freq === null}
ariaLabel="Ajouter"
>
+
</Button>
</form>
- {#if frequency !== '' && frequencyDays === null}
- <p class="error">Intervalle invalide — ex : 1d, 2w, 3m, 1y</p>
+ {#if frequency !== '' && freq === null}
+ <p class="error">Fréquence invalide — ex : 1d, 2w, 5/2w</p>
{/if}
{#if form?.error}
@@ -136,7 +133,7 @@
>{routine.name}</a
>
<span class="routine-meta">
- {formatFrequency(routine.frequencyDays)}
+ {Frequency.parse(routine.frequency).format()}
{#if routine.lastDoneAt}
· fait le {formatDayMonth(routine.lastDoneAt)}
{:else}
@@ -184,7 +181,7 @@
>{routine.name}</a
>
<span class="archived-date">
- {formatFrequency(routine.frequencyDays)} · archivée le
+ {Frequency.parse(routine.frequency).format()} · archivée le
{formatDayMonth(routine.archivedAt)}
</span>
</Row>